#ifndef INK_MATH_H_INCLUDED
#define INK_MATH_H_INCLUDED

#include "ink_foundation.h"

namespace ink
{

struct vector2
{
    float_t x,y;
};

struct vector3
{
    float_t x,y,z;
};

struct vector4
{
    float_t x,y,z,w;
};

struct matrix3
{
    vector3 row[3];
};

struct matrix4
{
    vector4 row[4];
};

// ---------------------- operations below -------------------------

void init_vector(vector2& v);
void init_vector(vector3& v);
void init_vector(vector4& v);

} // namespace ink

#endif // INK_MATH_H_INCLUDED